An ATM network consists of a set of ATM switches interconnected by point-to-point ATM links or interfaces. Exemplary ATM network 10, is shown in FIG. 1. ATM network 10 consist of a first ATM network 12 and a second ATM network 14. In some embodiments, both ATM networks 12 and 14 may be private ATM networks. In other embodiments, either of ATM networks 12 and 14 may be public or private ATM networks. Each ATM network 12 and 14 consists of a number of interconnected switches 16. Switches 16 are interconnected by point-to-point links 18. ATM network 12 is connected to ATM network 14 across user-to-network interface 20. A switch 16 may be connected to a variety of user stations, for example router 22 which supports local area network 24. Alternatively, an ATM switch 16 may be connected directly to a user terminal 26.
ATM networks such as network 10 are connection oriented. In other words, virtual circuits must be set-up across the ATM network prior to data transfer between users. ATM circuits are of two types: virtual paths, identified by virtual path identifiers (VPI); and virtual channels, identified by the combination of the VPI and a virtual channel identifier (VCI). A virtual path is a bundle of virtual channels, all of which are switched transparently across an ATM network on the basis of the common VPI. All VCI and VPI, however, have only local significance across a particular link, and are remapped, as appropriate, at each switch 16.
The basic operation of an ATM switch is rather simple: to receive a cell across a ink on a known VCI or VPI; to look up the connection value in a local translation table to determine the outgoing port or ports of the connection and the new VPI/VCI value of the connection on that link; and then to retransmit the cell on that outgoing link with the appropriate connection identifiers. The switch operation is so simple because external mechanisms set up the local translation tables prior to the transmittal of any data. The manner in which these tables are set up determine the two fundamental types of ATM connections.
The first type of ATM connection, permanent virtual connections (PVCs), are connections set up by some external mechanism, typically a network manager. When PVCs are configured, a set of switches between an ATM source and a destination ATM system are programmed with the appropriate VPI/VCI values. ATM signaling can facilitate the set up of PVCs, but, by definition, PVCs always require some manual configuration.
The second type of ATM connection, switched virtual connections (SVCs), are connections that are set up automatically through a signaling protocol. SVCs do not require the manual interaction needed to set up PVCs and, as such, may be more widely used in the future. All higher layer protocols operating over ATM primarily use SVCs.
ATM signaling is initiated by an ATM end-system that desires to set up a connection though an ATM network. Signaling packets are sent on pre-established virtual channels and the signaling is routed though the network from switch to switch, setting up the connection identifiers as it goes, until it reaches the destination end-system. The latter can either accept and confirm the connection request, or it reject it and clear the connection. The data will flow between the end-systems along the same path of the connection request.
Regardless of whether the connection is established using PVCs or SVCs, each switch 16 will maintain a connection table to allow for remapping of VPI/VCI values. A sample connection table is shown in FIG. 2a with reference to the switch 16 shown in FIG. 2b. As indicated, cells with VPI/VCI values of 36 that are received at port 1 are mapped to port 2 on a VPI/FVCI of 12. Similarly, cells received at port 1 with a VPI/VCI of 34 are mapped to port 3 on a VPI/VCI of 63. FIG. 2b provides a graphical illustration of this remapping process. It will be appreciated that the VPI/VCI values shown in the figures are for purposes of illustration only.
As indicated, ATM is a connection oriented system. As such, connection requests need to be routed from a requesting node though the ATM network to a destination node. The ATM Forum is in the process of defining a private network-to-network interface (PNNI) protocol which will allow easier interconnection of ATM switches. The PNNI protocol consists of two components, the first is a signaling protocol used to relay ATM connection requests within a network between a source and a destination. The second is a virtual circuit routing protocol used to route signaling requests though the ATM network. This is also the route on which the ATM connection is set up and along which the data will flow. In an ideal scenario, every ATM switch in a network would not only know the address of every ATM attached installation but also the current available composite (VPI/VCI) for new SVCs to every switch. The more information a switch has about the network, the easier it is to build optimal routes to the destination. Of course, as ATM networks grow to include hundreds or even thousands of switches supporting tens of thousands of users and devices, this goal becomes unfeasible.
Nevertheless, finding the shortest or best available path from one point to another across the network does require that a given switch knows something about what the network looks like. The switch must know its own whereabouts in the network and be able to locate other switches or ATM installations so that it can establish virtual circuits offering the appropriate speed and quality of service parameters. The solution is a scheme that distributes and summarizes network topologies so that switches have detailed information about their local topology and summarized information about more distant regions of the network. The PNNI specification manages this information though the use of an hierarchical topology, along with an addressing scheme similar to that used in telephony networks.
Using PNNI, network nodes (i.e., switches) are provided with "reachability information" about other nodes. This reachability information is used by a source node to construct a designated transit list (DTL) that describes the complete route to the destination node. The DTL is inserted into the signaling request which is then transmitted along the path described by the DTL.
Typically, using PNNI, a single connection will be set up between a source node and a destination node. An example is shown in FIG. 3. Edge switch/router 52 has two physical connections to the ATM backbone. There are two ATM switches 54, 56 in the backbone and server 58 also has two physical connections to the backbone. Hence, edge switch/router 52 and server 58 are said to be dual homed. When a user (having an associated MAC or L3 address) wishes to connect from edge switch/router 52 to server 58 (also having an associated address), a connection, VCC1, is established, for example, across physical links 62 and 64 though switch 54. In the event of a link failure or a switch failure along the connection path, the source node (i.e., edge switch/router 52) must request another ATM destination address for the corresponding destination MAC address or L3 address associated with server 58. Once this information is provided, the source node must tear down the old connections and signal for a new connection. Given that there can be hundreds to thousands of connections per link and "n" times for this for a switch failure, the failover time (i.e., the time between the failure of one connection and the establishment of a new connection) can be many tens of seconds per link. The total failover time can be much longer than this when an address resolution phase is required. Most computer sessions time-out after such a lengthy outage. Accordingly, what is required is a mechanism which provides a very fast failover in the event of a link or switch failure.